import {fileURLToPath, URL} from 'node:url'

import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'

// https://vite.dev/config/
export default defineConfig({
    plugins: [
        vue(),
        vueDevTools(),
    ],
    resolve: {
        alias: {
            '@': fileURLToPath(new URL('./src', import.meta.url))
        },
    },
    server: {
        // 开发服务器配置（Vite 中用 server，对应 Vue CLI 的 devServer）
        proxy: {
            // 1. 拦截以 "/api" 开头的请求（可自定义前缀，比如 "/api" 或 "/backend"）
            '/api': {
                target: 'http://localhost:5000', // 2. 目标服务器地址（本地 5000 端口）
                changeOrigin: true, // 3. 允许跨域（关键：解决请求头中 Origin 不匹配的问题）
                rewrite: (path) => path// 4. 路径重写（可选，根据后端接口调整）
            }
        }
    },
    build: {
        outDir: 'dist',
        assetsDir: 'static',
        rollupOptions: {
            output: {
                chunkFileNames: 'static/js/[name]-[hash].js',
                entryFileNames: 'static/js/[name]-[hash].js',
                assetFileNames: 'static/[ext]/[name]-[hash].[ext]'
            }
        }
    },
})
